#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2024-05-17 15:11
# @Author  : nedncs
# @File    : run.py
# @Description : 核心启动过程
import Env  # 环境
from core.config import config  # 配置
from utils.RSADecrypt import generate_rsa_key


def setLogFile(filename, level='INFO', module='app'):
    formatter = "{time:YYYY-MM-DD HH:mm:ss.SSS} |<lvl>{level:8}</>| {name} : {module}:{line:4} | - <lvl>{message}</>"
    Env.LOG_HANDLER = config.log.add('{}.log'.format(filename), format=formatter, level=level.upper())


# 1.应用设置
Env.DEBUG_MODE = config.debug_mode if Env.DEBUG_MODE == None else Env.DEBUG_MODE
Env.LOG_LEVEL = config.log_level if Env.LOG_LEVEL == '' else Env.LOG_LEVEL
setLogFile(Env.LOG_FILE, Env.LOG_LEVEL)  # 创建日志输出
# generate_rsa_key()

# 2.输出环境信息
config.log.debug('================================environment================================')
attributes = vars(Env)
user_defined_attributes = [attr for attr in attributes if
                           not attr.startswith('__') and not callable(getattr(Env, attr))]
for attr in user_defined_attributes:
    if hasattr(Env, attr):
        config.log.debug({attr: getattr(Env, attr)})
config.log.debug('================================environment end================================')
config.log.info({'Env.DEBUG_MODE': Env.DEBUG_MODE})
config.log.info({'Env.LOG_LEVEL': Env.LOG_LEVEL})
config.log.info({'Env.CONFIG_FILE': Env.CONFIG_FILE})

# 3.配置信息
